package com.yy.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Resault<T> implements Serializable {
    /**
     * 状态码 200表示操作成功，-1表示操作失败，2000表示查询成功
     */
    private Integer code=200;
    /**
     * 操作提示
     */
    private String msg="操作成功";
    /**
     * 数据总条数
     */
    private Long total;
    /**
     * 查询数据
     */
    private T data;

    /**
     * 给全局异常处理器使用
     */
    public static final Resault SYS_ERR = new Resault(-1,"后台接口请求异常");
    /**
     * 给数据校验失败时使用
     */
    public static final Resault DATA_FORMAT_ERR = new Resault(-1,"数据格式错误");

    /**
     * 给修改操作使用
     * @param code
     * @param msg
     */
    public Resault(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
    public Resault(Integer code, String msg,T data) {
        this.code = code;
        this.msg = msg;
        this.data=data;
    }
    /**
     * 给查询操作使用
     * @param total
     * @param data
     */
    public Resault(Long total, T data) {
        this.code = 2000;
        this.total = total;
        this.data = data;
    }
}


